home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / ingres04.lzh / source / ctlmod / pipes.h < prev    next >
Encoding:
C/C++ Source or Header  |  1985-01-23  |  1.7 KB  |  60 lines

  1. /*
  2. **  PIPES.H -- definitions for pipe blocks.
  3. **
  4. **    Version:
  5. **        @(#)pipes.h    8.1    12/31/84
  6. */
  7.  
  8. # ifndef PB_DBSIZE
  9.  
  10. /*
  11. **  The 'pb_t' (pipe block type) should be arranged so that the
  12. **  size of the structure excluding pb_xptr is some nice power
  13. **  of two.
  14. */
  15.  
  16. # define    PB_DBSIZE    116
  17. # define    PB_IOSIZE    128
  18.  
  19. typedef struct _pb_t
  20. {
  21.     char    pb_st;        /* the state to enter */
  22.     char    pb_proc;    /* the proc to enter */
  23.     char    pb_resp;    /* the proc to respond to */
  24.     char    pb_padxx;    /* --- unused at this time --- */
  25.     char    pb_from;    /* the immediate writer of this block */
  26.     char    pb_type;    /* the block type, see below */
  27.     short    pb_stat;    /* a status word, see below */
  28.     short    pb_nused;    /* the number of bytes used in this block */
  29.     short    pb_nleft;    /* the number of bytes left in this block */
  30.     char    pb_data[PB_DBSIZE];    /* the data area */
  31.     char    *pb_xptr;    /* the data pointer (not written) */
  32. }  pb_t;
  33.  
  34. /* possible values for pb_type */
  35. # define    PB_NOTYPE    0    /* unknown type */
  36. # define    PB_REG        1    /* regular block */
  37. # define    PB_RESP        2    /* response block */
  38. # define    PB_ERR        3    /* error message */
  39. # define    PB_SYNC        4    /* interrupt sync */
  40. # define    PB_RESET    5    /* system reset */
  41. # define    PB_TRACE    6    /* set new trace flags */
  42. /* more meta definitions go before this line */
  43.  
  44. /* definitions for pb_stat */
  45. # define    PB_EOF        00001    /* end of file block */
  46. # define    PB_FRFR        00002    /* originated from front end */
  47. # define    PB_INFO        00004    /* info purposes only, no response */
  48.  
  49. /* definitions for pb_proc */
  50. # define    PB_WILD        -2    /* all processes */
  51. # define    PB_UNKNOWN    -1    /* unknown */
  52. # define    PB_FRONT    0    /* front end */
  53. /* other processes are given numbers from 2 */
  54.  
  55. /* definitions for pb_st */
  56. /* define    PB_UNKNOWN    -1    */
  57. # define    PB_NONE        0    /* response block */
  58.  
  59. # endif PB_DBSIZE
  60.